package main

import "fmt"

func main() {
	var count int = 30
	if count < 30 {
		fmt.Println("库存不足")
	} else {
		fmt.Println("库存足够")
	}
	// 另一种写法: if后面可以并列加入变量定义, 使用分号;隔开
	if a := 30; a < 30 {
		fmt.Println("库存不足a")
	} else {
		fmt.Println("库存刚好够")
	}

	// 写法3: 在switch后面定义变量,记得要加分号;
	switch score := 9; {
	case score >= 9:
		fmt.Println("A级")
	case score >= 7:
		fmt.Println("B级")
	case score >= 6:
		fmt.Println("C级")
	default:
		fmt.Println("E级")
	}

	var sum int
	// 注意for里面定义变量的写法
	for i := 1; i <= 5; i++ {
		sum += 1
	}
	fmt.Println(sum) // 5

	// 死循环
	//for {
	//	fmt.Println("lalalala~~~~")
	//}

	var str string = "hello golang"
	// len函数是取字符长度的
	for i := 0; i < len(str); i++ {
		fmt.Printf("%c \t", str[i]) // h 	e 	l 	l 	o 	  	g 	o 	l 	a 	n 	g
	}

	// 方式2: for range
	for i, value := range str {
		fmt.Printf("索引:%d, 值:%c \n", i, value)
	}

	// break细节
	// 正常使用跳出当前循环内的一个循环,外层循环还在继续循环
	for i := 1; i <= 5; i++ {
		for j := 1; j <= 5; j++ {
			fmt.Printf("i: %v, j: %v \n", i, j)
			if i == 1 && j == 1 {
				break
			}
		}
	}

	// 使用标签结束具体的循环
lable1:
	for i := 1; i <= 5; i++ {
		for j := 1; j <= 5; j++ {
			fmt.Printf("i: %v, j: %v \n", i, j)
			if i == 1 && j == 1 {
				break lable1
			}
		}
	}


}
